set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
/* *******************************************************************
** DATE :
** Writer :
** Memo :
******************************************************************** */
CREATE PROCEDURE [dbo].[TSP_Store_Modify]
(
	@IsTransaction	tinyint			= 0
,	@ErrorCode		int				= 0		OUTPUT
,	@ErrorMessage	nvarchar( 1000 )= ''	OUTPUT

,	@n4StoreNo	INT
,	@IsActive	char(1)		= NULL
,	@strStoreName	nvarchar(200)	= NULL	
,	@strCompanyNo	varchar(30)	= NULL	
,	@strPhone	varchar(30)	= NULL	
,	@strPost	varchar(10)	= NULL	
,	@strAddress	nvarchar(400)	= NULL	
,	@strCityName	nvarchar(20)	= NULL	
,	@IsTakeout	char(1)	= NULL	
,	@strTakeout	nvarchar(100)	= NULL	
,	@IsParking	char(1)	= NULL	
,	@strParking	nvarchar(100)	= NULL	
,	@strStoreSize	varchar(50)	= NULL	
,	@strOpenDate	varchar(20)	= NULL	
,	@strOpenTime	varchar(50)	= NULL	
,	@strPointX	varchar(30)	= NULL
,	@strPointY	varchar(30)	= NULL
,	@strDescription	nvarchar(4000)	= NULL	
,	@strManagerName	nvarchar(100)	= NULL	
)
as
Set NOCOUNT ON

-- Frk Default Value
DECLARE @FrkDateNow DateTime
DECLARE @FrkRowCount int
DECLARE @FrkTranCount int
DECLARE @FrkErrorCode int
DECLARE @FrkErrorMessage nvarchar( 1000 )
Set @FrkDateNow = GetDate()
set @FrkTranCount = @@TRANCOUNT
-- Frk Check


If ( @IsTransaction = 0 )
Begin
	If ( @FrkTranCount < 1 )
	Begin
		Set @FrkErrorCode = -1
		Set @FrkErrorMessage = 'Transaction.'
		goto ERROR
	End
	Else If ( @FrkTranCount > 1 )
	Begin
		Set @FrkErrorCode = -2
		Set @FrkErrorMessage = 'Transaction.'
		goto ERROR
	End
End
Else
Begin
	If ( @FrkTranCount <> 0 )
	Begin
		Set @FrkErrorCode = -3
		Set @FrkErrorMessage = 'Transaction.'
		goto ERROR
	End
	Begin Tran
End

-- Implementation


UPDATE
	dbo.TB_Store
SET
	IsActive = IsNull( @IsActive, IsActive )
,	strStoreName = IsNull( @strStoreName, strStoreName )
,	strCompanyNo = IsNull( @strCompanyNo, strCompanyNo )
,	strPhone = IsNull( @strPhone, strPhone )
,	strPost = IsNull( @strPost, strPost )
,	strAddress = IsNull( @strAddress, strAddress )
,	strCityName = IsNull( @strCityName, strCityName )
,	IsTakeout = IsNull( @IsTakeout, IsTakeout )
,	strTakeout = IsNull( @strTakeout, strTakeout )
,	IsParking = IsNull( @IsParking, IsParking )
,	strParking = IsNull( @strParking, strParking )
,	strStoreSize = IsNull( @strStoreSize, strStoreSize )
,	strOpenDate = IsNull( @strOpenDate, strOpenDate )
,	strOpenTime = IsNull( @strOpenTime, strOpenTime )
,	strPointX = IsNull( @strPointX, strPointX )
,	strPointY = IsNull( @strPointY, strPointY )
,	strDescription = IsNull( @strDescription, strDescription )
,	strManagerName = IsNull( @strManagerName, strManagerName )
WHERE
	n4StoreNo = @n4StoreNo


-- Frk Error Check
SELECT
	@FrkErrorCode = @@ERROR
,	@FrkRowCount = @@RowCount

-- End

COMPLETE:
	If ( @IsTransaction <> 0 )
	Begin
		If ( @@TRANCOUNT = 1 )
		Begin
			Commit Tran
		End
	End
	SET @ErrorCode = 0
	SET @ErrorMessage = ''
	return 0
ERROR:
	If ( @IsTransaction <> 0 )
	Begin
		If ( @@TRANCOUNT = 1 )
		Begin
			Rollback Tran
		End
	End
	SET @ErrorCode = @FrkErrorCode
	SET @ErrorMessage = @FrkErrorMessage
	return @FrkErrorCode
